This class is meant to be created together with the Shaders.
Struct that holds uniform/cbuffer information for Direct3D and OpenGL shaders. It can be any type. Its data is accessed by the ShaderVariableLayout when sendVars is called. Thus, depending on its corrensponding type, its data is uploaded to the GPU.